GPU++: an embedded GPU development system for general-purpose computations

نویسنده

  • Thomas C. Jansen
چکیده

Using the graphics processing unit (GPU) to accelerate general-purpose computations has become an important technique in scientific research. However, the development complexity is significantly higher than for CPU-based solutions, due to the mainly graphics-oriented concepts and development tools for GPU-programming. As a consequence, general-purpose computations on the GPU are mainly discussed in the academic domain and have not yet fully reached industrial software development. This thesis presents a novel contribution to general-purpose GPU programming – the Gpu development system. It features a seamless integration into the C programming language to address graphics hardware via a familiar syntax, an abstraction layer to efficiently hide the different computation frequencies, and a novel approach to relax the vector processor paradigm of the GPU. The Gpu development system enables software engineers to embed GPU-based development into their existing software engineering workflow, thus, largely dissolving the differences between main and graphics processor. The developed system has been evaluated by the implementation of well-known generalpurpose algorithms on both processor platforms – including general matrix multiplication, sorting of values, the fast Fourier transform, and tomographic reconstruction via filtered back-projection. The Gpu implementations outperform the CPU solutions by up to three orders of magnitude without a noticeable increase in source code complexity. These results clearly demonstrate that the novel Gpu development system significantly reduces the source code complexity and development time of general-purpose GPU applications to a level which is comparable to main processor implementations, while obtaining the tremendous performance advantages of today’s graphics hardware architectures.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reducing the Energy Consumption of Embedded Systems by Integrating General Purpose GPUs

Nowadays, General Purpose Computing on GPUs (GPGPU) accelerates many industrial and scientific applications in the high performance computing (HPC) domain. Recently, GPU vendors, such as Nvidia and AMD, promoted the utilization of high end GPUs in embedded systems. The intention of the GPU vendors is the acceleration of traditional graphics computations, but in analogy to the HPC desktop domain...

متن کامل

GPGPU Kernel Implementation using an Embedded Language: a Status Report

Obsidian is a domain specific language for general purpose computations on graphics processing units (GPUs) embedded Haskell. This report present examples of GPU kernels written in Obsidian as well as parts of the current implementation of Obsidian. The goal with Obsidian is to raise the level of abstraction for the programmer while not scarifying performance. The kind of decisions and tradeoff...

متن کامل

Translating Agent Perception Computations into Environmental Processes in MABS A means for integrating GPU programming within usual agent-based simulation platforms

Multi-Agent Based Simulations (MABS) relies on modeling the behavior of individual entities and their interactions in a virtual environment. Nowadays, MABS are used for studying various complex systems such as crowds, animal societies, ecosystems, traffic behaviors or the Market. So MABS are experimental research tools that contribute to our understanding of the mechanisms embedded in these com...

متن کامل

Econometrics on Gpus

A graphical processing unit (GPU) is a hardware device normally used to manipulate computer memory for the display of images. GPU computing, also known as general purpose GPU computing, is the practice of using a GPU device for scienti c or general purpose computations that are not necessarily related to the display of images. The ability of a GPU to render rapidly changing complex images depen...

متن کامل

GPU Sharing for Image Processing in Embedded Real-Time Systems∗

To more efficiently utilize graphics processing units (GPUs) when supporting real-time workloads, it may be beneficial to allow multiple tasks to issue GPU computations without blocking one another. For such an option to be viable, it is necessary to know the extent to which concurrent GPU computations interfere with each other when accessing hardware resources. In this paper, measurement data ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007